﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using SIGEB.Modelo.moduloDocumentos;
using SIGEB.Modelo.moduloUsuarios;

namespace SIGEB.Modelo.moduloPrestamos
{
    public class prestamo
    {
        #region "constructores"

        public prestamo(String codPrestamo, String numAdquisicion, DateTime fechaPrestamo, DateTime fechaDevolucion, double multaDiaria, String idUsuario)
        {
            this.codPrestamo = codPrestamo;
            this.ejemplarP = numAdquisicion;
            this.fechaPrestamo = fechaPrestamo;
            this.fechaDevolucion = fechaDevolucion;
            this.multaDiaria = multaDiaria;
            this.usuarioP = idUsuario;
            this.estado = 0;
        }

        public prestamo(String codPrestamo, String numAdquisicion, DateTime fechaPrestamo, DateTime fechaDevolucion, double multaDiaria, String idUsuario, int estado)
        {
            this.codPrestamo = codPrestamo;
            this.ejemplarP = numAdquisicion;
            this.fechaPrestamo = fechaPrestamo;
            this.fechaDevolucion = fechaDevolucion;
            this.multaDiaria = multaDiaria;
            this.usuarioP = idUsuario;
            this.estado = estado;
        }

        #endregion

        #region "metodos"

        public string getEstado()
        {
            if (estado == PENDIENTE)
            {
                if (moroso())
                {
                    return "Moroso";
                }
                return "Pendiente"; 
            }
            else if (estado == DEVUELTO)
            {
                return "Devuelto";
            }
            
            return "";
        }

        public bool moroso()
        {
            return fechaDevolucion > DateTime.Today;
        }

        #endregion

        #region "atributos"

        private String _codPrestamo;
        private String _ejemplarP;
        private DateTime _fechaPrestamo;
        private DateTime _fechaDevolucion;
        private double  _multaDiaria;
        private String _usuarioP;

        public static int PENDIENTE = 0;
        public static int DEVUELTO = 1;


        public int estado
        {
            set;
            get;
        }

        public String codPrestamo
        {
            set { _codPrestamo = value; }
            get { return _codPrestamo; }
        }

        public DateTime fechaPrestamo
        {
            set { _fechaPrestamo = value; }
            get { return _fechaPrestamo; }
        }

        public String ejemplarP
        {
            set { _ejemplarP = value; }
            get { return _ejemplarP; }
        }

        public DateTime fechaDevolucion
        {
            set { _fechaDevolucion = value; }
            get { return _fechaDevolucion; }
        }

        public double multaDiaria
        {
            set { _multaDiaria = value; }
            get { return _multaDiaria; }
        }

        public String usuarioP
        {
            set { _usuarioP = value; }
            get { return _usuarioP; }
        }

        #endregion

    }
}
